package edu.sias.article.mapper;

import edu.sias.article.entity.Case;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

// MyBatis 的 Mapper 接口，用于定义与数据库交互的方法
@Mapper
public interface CaseMapper {
    /**
     * 向数据库中插入一条病例记录
     * @param caseObj 要插入的病例对象
     * @return 插入成功的记录数
     */
    int insert(Case caseObj);

    /**
     * 根据病例的唯一标识从数据库中删除一条病例记录
     * @param id 要删除的病例的唯一标识
     * @return 删除成功的记录数
     */
    int deleteById(String id);

    /**
     * 更新数据库中一条病例记录的信息
     * @param caseObj 包含更新信息的病例对象
     * @return 更新成功的记录数
     */
    int update(Case caseObj);

    /**
     * 根据病例的唯一标识从数据库中查询一条病例记录
     * @param id 要查询的病例的唯一标识
     * @return 查询到的病例对象，如果未找到则返回 null
     */
    Case selectById(String id);

    /**
     * 从数据库中查询所有的病例记录
     * @return 包含所有病例对象的列表
     */
    List<Case> selectAll();
}    